package in.data; import android.os.Parcel; import android.os.Parcelable; import com.google.gson.JsonElement; import java.util.ArrayList; import java.util.List; import in.data.annotation.CrossPostAnnotation; import in.data.annotation.ImageAnnotation; import in.data.annotation.LocationAnnotation; import in.data.annotation.VideoAnnotation; import in.lib.utils.Debug; import in.lib.utils.SerialReaderUtil; import in.lib.utils.SerialWriterUtil; import in.model.base.Model; import lombok.Data; @Data public class AnnotationList extends Model { protected List<ImageAnnotation> images = new ArrayList<ImageAnnotation>(); protected List<VideoAnnotation> videos = new ArrayList<VideoAnnotation>(); protected List<LocationAnnotation> locations = new ArrayList<LocationAnnotation>(); protected List<CrossPostAnnotation> crossposts = new ArrayList<CrossPostAnnotation>(); @Override public AnnotationList createFrom(JsonElement element) { return null; } @Override public AnnotationList createFrom(Parcel parcel) { super.createFrom(parcel); return this; } @Override public List<? extends Model> createListFrom(JsonElement element) { return null; } @Override public String getVersion() { return "87db65fe-2408-4b9a-bfca-3fe731cde3a1"; } @Override public AnnotationList read(SerialReaderUtil util) { try { String version = util.readString(); if (!version.equals(getVersion())) return null; this.images = util.readModelList(ImageAnnotation.class); this.videos = util.readModelList(VideoAnnotation.class); this.locations = util.readModelList(LocationAnnotation.class); this.crossposts = util.readModelList(CrossPostAnnotation.class); return this; } catch (Exception e) { Debug.out(e); } return null; } @Override public void write(SerialWriterUtil util) { try { util.writeString(getVersion()); util.writeModelList(images); util.writeModelList(videos); util.writeModelList(locations); util.writeModelList(crossposts); } catch (Exception e) { Debug.out(e); } } public static final Parcelable.Creator<AnnotationList> CREATOR = new Creator<AnnotationList>() { @Override public AnnotationList[] newArray(int size) { return new AnnotationList[size]; } @Override public AnnotationList createFromParcel(Parcel source) { return new AnnotationList().createFrom(source); } }; }